package com.zdkj.subway.stm.fegin;

import com.zdkj.common.core.constant.SecurityConstants;
import com.zdkj.common.core.constant.ServiceNameConstants;
import com.zdkj.common.core.util.R;
import com.zdkj.subway.stm.dto.in.SwStInternetTicketDTO;
import com.zdkj.subway.stm.dto.in.SwStInvalidTicketDTO;
import com.zdkj.subway.stm.dto.in.SwStReportErrorAlterApplyDTO;
import com.zdkj.subway.stm.dto.out.SwStTvmIncomeSettleDto;
import com.zdkj.subway.stm.entity.SwStInternetTicketEquipmentDetails;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;

@FeignClient(contextId = "subwayCheckService", value = ServiceNameConstants.SUBWAY_CHECK_SERVICE)
public interface SubwayCheckService {
    /**
     * 修改互联网售票机模块
     *
     * @param swStInternetTicketDTO
     * @return
     */
    @PostMapping("/check/inner")
    R invalidTicketEquipmentSave(@RequestHeader(SecurityConstants.FROM) String from,
                        @RequestBody SwStInternetTicketDTO swStInternetTicketDTO);
    /**
     * 修改报表差错修改的状态
     *
     * @param swStReportErrorAlterApplyDTO
     * @return
     */
    @PostMapping("/xw/updateXwReportInfos")
    R updateXwReportInfos(@RequestHeader(SecurityConstants.FROM) String from,
                                 @RequestBody SwStReportErrorAlterApplyDTO swStReportErrorAlterApplyDTO);

    /**
     * 钱箱卸载后更新收入结算清点金额、现金实收金额
     *
     * @param swStTvmIncomeSettleDto
     * @return
     */
    @PostMapping("/xw_js_tvm/updateUnAmount")
    R updateUnAmount(@RequestHeader(SecurityConstants.FROM) String from,
                          @RequestBody SwStTvmIncomeSettleDto swStTvmIncomeSettleDto);
}
